package com.qzsf.backend.service;

import com.qzsf.backend.common.Result;
import com.qzsf.backend.dto.ForgetRequest;
import com.qzsf.backend.dto.LoginRequest;
import com.qzsf.backend.dto.UserDetailDTO;
import com.qzsf.backend.entity.UserProfile;

import java.time.Year;

/*
 * @Author: Dennis Chen
 * @CreateTime: 2024/10/30 16:50 周三
 * @Email 1429278462@qq.com
 * @Remark 用户服务层抽象类
 * @Version 1.0
 */
public interface UserService {
    Result login(LoginRequest loginRequest);
    Result info();
    Result quit(String token);

    Result createUser(UserDetailDTO userDetailDto);

    Result deleteUser(int id);

    Result updateUser(UserProfile userProfile);

    Result getAllUserDetail(String name, Year enrollmentYear, String faculty, int pageNo, int pageSize);

    Result getUserProfile(int id);

    Result getUserRole();

    Result forget(ForgetRequest forgetRequest);

    Result getUserBasicProfile();
}
